<html>
    <head>
        <title>注册后台任务</title>
    </head>
    <body>
        <script>
             /*
                        三、注册后台任务

                                创建后台任务类后，你应该将其添加到 IBackgroundWorkerManger (后台任务管理器)。

                                最常见的地方是模块类的 OnApplicationInitializationAsync 方法：

                                        [DependsOn(typeof(AbpBackgroundWorkersModule))]
                                        public class MyModule : AbpModule
                                        {
                                            // ABP程序初始化钩子
                                            public override async Task OnApplicationInitializationAsync(
                                                ApplicationInitializationContext context)
                                            {
                                                // 添加后台任务到后台任务管理器
                                                await context.AddBackgroundWorkerAsync<PassiveUserCheckerWorker>();
                                            }
                                        }

                                context.AddBackgroundWorkerAsync() 是下面表达式的快捷扩展方式：

                                        await context.ServiceProvider
                                                    .GetRequiredService<IBackgroundWorkerManager>()
                                                    .AddAsync(
                                                        context
                                                            .ServiceProvider
                                                            .GetRequiredService<PassiveUserCheckerWorker>()
                                                    );

                                因此，它解析给定的后台工作并添加到IBackgroundWorkerManager。

                                虽然我们通常在OnApplicationInitializationAsync中注册(添加)后台任务，但对此没有限制。

                                你可以在任何地方注入IBackgroundWorkerManager 并在运行时添加后台任务。

                                当你的应用程序被关闭时，后台工作人员管理器将停止并释放所有注册的后台任务。
                    */
        </script>
    </body>
</html>